package Perception;

import java.util.ArrayList;

public class Percepts {

	private String name;
	
	private ArrayList<Parameter> params;
	
	public Percepts(String name)
	{
		this.name = name;
		params = new ArrayList<Parameter>();
	}
	
	public String getName()
	{
		return name;
	}

	public void addParam(Parameter param)
	{
		if(!params.contains(param))
			params.add(param);
	}
	
	public void addParam(String name, String val)
	{
		Parameter<String> p = new Parameter<String>(name,val);
		addParam(p);
	}
	
	public void removeParameter(Parameter param)
	{
		if(params.contains(param))
			params.remove(param);
	}
	
	public void removeParam(String nameParam)
	{
		Parameter param = null;
		
		for(Parameter p : params)
		{
			if(p.getName().equals(nameParam))
			{
				param = p;
				break;
			}
		}
		
		if(param != null)
			params.remove(param);
	}
	
	public ArrayList<Parameter> getParams()
	{
		return params;
	}
	
	public Parameter getParam(int index)
	{
		if(index < 0 || index  >= params.size())
			return null;
		return params.get(index);
	}
	
	public Parameter getParam(String name)
	{
		for(Parameter p : params)
		{
			if(p.getName().equals(name))
				return p;
		}
		return null;
	}
	
	
}
